package com.idol.web.bean;

import java.io.IOException;
import java.io.InputStream;

/**
 * @author Supreme_Sir
 * @version 1.0
 * @className Request
 * @description 请求对象，用来封装请求中的有用信息
 * @date 2020/11/20 21:02
 **/
public class Request {
    /**
     * 请求的方法   GET/POST
     */
    private String method;
    /**
     * 请求的 web 工程的名称
     */
    private String webName;
    /**
     * url  资源路径
     */
    private String resourcePath;

    public Request(InputStream inputStream) throws IOException {
        int i;
        do {
            // 这里加循环是为了防止因前端数据的延迟到达，导致的 i 为 0 的问题
            i = inputStream.available();
        } while (i == 0);
        byte[] header = new byte[i];
        inputStream.read(header);
        String headerStr = new String(header);

        String firstLine = headerStr.split("\n")[0];
        // 屏蔽浏览器自动发送的网站图标请求
        if (!firstLine.contains("favicon.ico")){
            String[] strArr = firstLine.split(" ");
            this.method = strArr[0];
            strArr = strArr[1].split("/");
            this.webName = strArr[1];
            this.resourcePath = strArr[2];
        }
    }

    public String getMethod() {
        return method;
    }

    public void setMethod(String method) {
        this.method = method;
    }

    public String getWebName() {
        return webName;
    }

    public void setWebName(String webName) {
        this.webName = webName;
    }

    public String getResourcePath() {
        return resourcePath;
    }

    public void setResourcePath(String resourcePath) {
        this.resourcePath = resourcePath;
    }
}
